#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    /////////////创建QMenuBar//////////////
    ///QMenuBar QMenu QAction
    /// 程序会自动帮我们生成一个menubar，设置新的menubar会导致其从对象树上脱离，
    /// 造成内存泄漏，在多窗口上容易出现问题，单窗口相对没问题。

    //创建menubar的规范写法
    //如果存在的话，自己获取自己；否则就创建一个
    QMenuBar* menubar = this->menuBar();
    this->setMenuBar(menubar);

    //设置快捷键
    QMenu* menu1 = new QMenu("文件(&F)");
    QMenu* menu2 = new QMenu("编辑(&E)");
    QMenu* menu3 = new QMenu("视图(&V)");

    menubar->addMenu(menu1);
    menubar->addMenu(menu2);
    menubar->addMenu(menu3);

    QMenu* menu4 = new QMenu("保存");
    QAction* action2 = new QAction("关闭");
    QAction* action3 = new QAction("新建");
    QAction* action4 = new QAction("打开");

    //点击触发triggered信号
    menu1->addAction(action3);
    menu1->addAction(action4);
    //添加分隔符
    menu1->addSeparator();
    //menu1->addAction(action1);
    menu1->addAction(action2);
    menu1->addMenu(menu4);

    connect(action2, &QAction::triggered, this, &QMainWindow::close);

    //添加图标
    QPixmap pixmap(":/dabian.svg");
    QIcon icon(pixmap);
    action2->setIcon(icon);

    //////////////创建QToolBar////////////////
}

MainWindow::~MainWindow()
{
    delete ui;
}
